package com.bjsxt;

import java.awt.*;

public class Explode {
    int x, y;
    private boolean live = true;

    private TankClient tc;

    private static Toolkit tk = Toolkit.getDefaultToolkit();
	// 加入爆炸图片
    private static Image[] imgs = {
            tk.getImage(Explode.class.getClassLoader().getResource("images/0.gif")),
            tk.getImage(Explode.class.getClassLoader().getResource("images/1.gif")),
            tk.getImage(Explode.class.getClassLoader().getResource("images/2.gif")),
            tk.getImage(Explode.class.getClassLoader().getResource("images/3.gif")),
            tk.getImage(Explode.class.getClassLoader().getResource("images/4.gif")),
            tk.getImage(Explode.class.getClassLoader().getResource("images/5.gif")),
            tk.getImage(Explode.class.getClassLoader().getResource("images/6.gif")),
            tk.getImage(Explode.class.getClassLoader().getResource("images/7.gif")),
            tk.getImage(Explode.class.getClassLoader().getResource("images/8.gif")),
            tk.getImage(Explode.class.getClassLoader().getResource("images/9.gif")),
            tk.getImage(Explode.class.getClassLoader().getResource("images/10.gif"))
    };

    int step = 0;

    private static boolean init = false;

    public Explode(int x, int y, TankClient tc) {
        this.x = x;
        this.y = y;
        this.tc = tc;
    }

    public void draw(Graphics g) {
		// 解决第一次爆炸不加载问题
        if (!init) {
            for (int i = 0; i < imgs.length; i++) {
                g.drawImage(imgs[i], -100, -100, null);
            }
            init = true;
        }

        if (!live) {
            tc.explodes.remove(this);
            return;
        }

        if (step == imgs.length) {
            live = false;
            step = 0;
            return;
        }

        g.drawImage(imgs[step], x, y, null);

        step++;
    }
}